package com.unidt.www.module.expert.service;

import com.unidt.www.framework.common.pojo.PageResult;
import com.unidt.www.module.expert.domain.ExpertInvitationDo;
import com.unidt.www.module.expert.form.ExpertInvitationQueryForm;
import com.unidt.www.module.expert.vo.ExpertInvitationVo;
import com.unidt.www.module.expert.vo.ExpertRuleUserVo;
import com.unidt.www.module.expert.vo.ExpertUserVo;
import com.unidt.www.module.expert.vo.InvitationTimeInfoVo;

import java.util.List;

/**
 * @Author sk
 * @Description:
 * @Date 2022/12/20 15:19
 **/
public interface IExpertInvitationService {

    /**
     * 功能描述: 分页查询
     * @author sk
     * @date 2022/12/20
     * @param queryForm
     * @return com.unidt.www.framework.common.pojo.PageResult<com.unidt.www.module.expert.domain.ExpertInvitationDo>
     */

    PageResult<ExpertInvitationDo> pageQuery(ExpertInvitationQueryForm queryForm);

    /**
     * 功能描述: 邀约详情
     * @author sk
     * @date 2022/12/20
     * @param id
     * @return com.unidt.www.module.expert.vo.ExpertInvitationVo
     */
    ExpertInvitationVo getDetail(Long id);

    /**
     * 功能描述: 邀约动态
     * @author sk
     * @date 2022/12/20
     * @param id
     * @return com.unidt.www.module.expert.vo.ExpertRuleUserVo
     */

    List<ExpertRuleUserVo> getDynamic(Long id);

    /**
     * 功能描述: 邀约名单
     * @author sk
     * @date 2022/12/20
     * @param id
     * @return java.util.List<com.unidt.www.module.expert.vo.ExpertRuleUserVo>
     */
    List<ExpertRuleUserVo> getNameList(Long id);

    /**
     * 功能描述: 获取备选装甲名单
     * @author sk
     * @date 2022/12/26
     * @param ruleId
     * @return java.util.List<com.unidt.www.module.expert.vo.ExpertUserVo>
     */

    List<ExpertUserVo> getLeftList(Long ruleId);

    /**
     * 功能描述: 获取邀约实时情况
     * @author sk
     * @date 2022/12/26
     * @param id
     * @return com.unidt.www.module.expert.vo.InvitationTimeInfoVo
     */
    InvitationTimeInfoVo getInvitationTimeInfo(Long id);
}
